package com.xdf.xzymanagementsystem.entity;
import com.mybatisflex.annotation.Id;
import com.mybatisflex.annotation.KeyType;
import com.mybatisflex.annotation.Table;
import lombok.Builder;
import lombok.Data;
import lombok.experimental.Tolerate;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 由 chanchaw 创建于 2025-3-22 10:27:04，实现功能如下：
 * 1. 实现接口 Serializable
 * 2. 无参构造函数
 * 3. 建造者模式
 * 4. getter,setter,toString()
 * 单据,明细,订单
 */
@Data
@Builder
@Table("grey_detail")
public class GreyDetail implements Serializable {
    @Tolerate
    public GreyDetail() {}

    @Override
    public Object clone() throws CloneNotSupportedException {
        return super.clone();
    }

    @Id(keyType = KeyType.Auto)
    private Integer id;//自增主键
    private Integer parentId;//外键=order_main.id
    private String greyName;//白坯品名
    private String greyCategory;//品种 = jc_simple.category=成品品种
    private String greySpecification;//白坯规格
    private String priceUnit;//计价单位:公斤、米数、码数，待选项数据=jc_simple.category=计价单位
    private BigDecimal piece;//匹数
    private BigDecimal kilo;//公斤
    private BigDecimal meter;//米数
    private BigDecimal yard;//码数
    private BigDecimal price;//单价
    private BigDecimal amount;//金额
    private Float seq;//排序序号
    private Integer state;//状态，默认1有效，0作废，2已审核，3已驳回
    private Integer isDelete;//删除标识，默认0未删除，1表示删除。mybatis-flex默认使用该名称作为逻辑删除的标识
    private String remark;//备注
    private String sysRemark;//系统备注，系统在做自动化操作时用于说明业务逻辑
    private java.util.Date createTime;//创建时间
    private String createUser;//创建人
    private java.util.Date updateTime;//最后一次修改时间
    private String updateUser;//最后一次修改人
    private Integer inventoryId;//对应入库单主键，该字段只有出库单有值
    private String supplierName;//坯布商
}
